When iterating over the list of displays gotten from the
display manager, we have to check if what we got is actually
an X11 display.
for (l = list; l; l = l->next)
{
- if (GDK_DISPLAY_XDISPLAY (l->data) == xdisplay)
+ if (GDK_IS_X11_DISPLAY (l->data) &&
+ GDK_DISPLAY_XDISPLAY (l->data) == xdisplay)
{
display = l->data;
break;
displays = gdk_display_manager_list_displays (gdk_display_manager_get ());
for (l = displays; l; l = l->next)
- set_sm_client_id (l->data, sm_client_id);
+ {
+ if (GDK_IS_X11_DISPLAY (l->data))
+ set_sm_client_id (l->data, sm_client_id);
+ }
g_slist_free (displays);
}
{
GdkX11Display *gdk_display = displays->data;
- if (xdisplay == gdk_display->xdisplay)
+ if (GDK_IS_X11_DISPLAY (gdk_display) &&
+ xdisplay == gdk_display->xdisplay)
{
error_display = GDK_DISPLAY (gdk_display);
g_slist_free (displays);